Release 10.1A: OpenEdge Data Management:
Database Administration


Creating a structure description file

The structure description file is a text file you prepare that defines the database structure. It contains all of the information required by the PROSTRCT CREATE utility to create a database control area and the database extents.

Use a text editor to create the structure description file. The name you give to the structure description file is usually the name of the database you define, with a .st extension.

The structure description file contains one or more lines of text that provide information about each storage area of the database. Each line of text is composed of tokens, which are text strings made up of alphanumeric characters that describe the following characteristics:

The following syntax shows how the 8 tokens are combined to form line in a structure description file:

line     = comment | CR | type path [sizeinfo] 
comment  = * | : | # 
CR       = blank line 
type     = a | b | d | t [areainfo] 
     areainfo = areaname”[:areanum][,recsPerBlock][;blksPerCluster] 
           areaname       = string 
           areanum        = numeric value 
           recsPerBlock   = numeric value 
          blksPerCluster = 1 | 8 | 64 | 512 
path     = string 
sizeinfo = extentType size 
     extentType     = f | v 
     size           = numeric value > 32 

Note: You can comment a .st file and use blank lines. Precede comments with a pound sign (#), colon (:), or asterisk (*).

Table 1–1 explains the value of each of the 8 tokens in a structure description file.

Table 1–1: ST file tokens 
Token
Description
type
Indicates the type of storage area. Possible values are:
  • a — After-image area.
  • b — Before-image area.
  • d — Schema and application data areas.
  • t — Transaction log area.
areaname
Name of the storage area.
areanum
Number of the storage area.

Note: If you do not include the area number token, PROSTRCT will assign the area numbers for you. However, if you choose to specify a number for one area in your .st, you must specify area numbers for all the areas or PROSTRCT will return an error.

recsPerBlock
Number of database records in each database block. Valid values are 1, 2, 4, 8, 26, 32, 64, 128, and 256.
Notes:
  • This token only applies to areas 7 through 1000.
  • For the schema area, records per block is fixed at 32 for 1K, 2K, and 4K database block sizes, The records per block is 64 for an 8K database block size.
blcksPerCluster
Number of database blocks in each cluster. Possible values are: 1, 8, 64, or 512.
Notes:
  • If you leave this value blank, or specify 1, the data area will be Type I. All other values are valid for Type II data areas only.
  • This token only applies to areas 7 through 1000.
path
Absolute or relative pathname of each extent.
extentType
Indicates whether the extent is fixed (f) or variable (v). If the extent type token is not specified, the extent is variable.
size
Size of an extent in kilobytes. This value must be a multiple of 16 times your database block size.

Extent pathnames and naming conventions

The PROSTRCT CREATE utility is designed to allow the end user to specify the minimum amount of information necessary to create a database. Only the area type and extent location must be specified. A suggested convention is that you supply an area name for data storage areas (d). A specific filename or file extension need not be provided. If you specify a pathname, it must represent a standard operating system file. The only pathname restrictions are those that might be imposed by your operating system.

The PROSTRCT CREATE utility will generate filename and file extensions for all database files according to the following naming convention:

Rules for creating storage areas and extents

When you are defining storage areas and extents in order to create a new database:

Extent length

You can specify a fixed-length or variable-length extent:

Example structure description file

The following example shows a .st file named sports2000.st that defines a database with:

Example structure description file for large files

When creating a new database, large file processing is enabled if the .st file specifies a fixed-length extent size or a maximum size for a variable-length extent that is greater than 2 GB. Large file processing requires an Enterprise database license. The following example shows the .st file of a database with large file processing enabled:

# Sample Structure Description File: largedb.st 
# 
# largedb.st to create database largedb with large file processing enabled. 
# 
# A fixed length bi file of 1GB and a variable length bi file with a maximum 
# size of 4GB. 
# 
b tests/largedb.b1 f 1048576 
b tests/largedb.b2 v 4194304 
# 
# SCHEMA AREA with a fixed length file of 3GB and a variable length file with 
# a maximum size of 3GB. 
# 
d “Schema Area”:6,64 tests/largedb.d1 f 3145728 
d “Schema Area”:6,64 tests/largedb.d2 v 3145728 
# 
# TABLE AREA with a fixed length file of just over 2GB and a variable length 
# file with a maximum size of 1TB. 
# 
d “Table Area”:7,64 tests/largedb_7.d1 f 2097280 
d “Table Area”:7,64 tests/largedb_7.d2 
# 
# A fixed length ai file of 2GB and a variable length file with a maximum size 
# of 1TB. 
a tests/largedb.a1 f 2097152 
a tests/largedb.a2 
# 

For more information on enabling large file processing, see the "PROUTIL ENABLELARGEFILES qualifier" section.


Copyright © 2005 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095